home *** CD-ROM | disk | FTP | other *** search
- #include "jnet.hpp"
- #include "macs.hpp"
- #include "dprint.hpp"
- #include "system.h"
- #include "ipx.hpp"
- #include "bwtcp.hpp"
- #include "jmalloc.hpp"
-
-
- char last_sock_err[200];
- int current_sock_err=0;
-
-
- void set_sock_err(int x) { current_sock_err=x; }
- static int prot=NONET_PROTOCOL;
-
-
- int net_init(int protocol)
- {
- if (protocol==TCPIP_PROTOCOL)
- {
- if (bwt_init())
- {
- prot=TCPIP_PROTOCOL;
- return 1;
- }
- return 0;
- }
- else if (protocol==IPX_PROTOCOL)
- {
- if (ipx_init())
- {
- prot=IPX_PROTOCOL;
- return 1;
- }
- return 0;
- }
- else return 0;
- }
-
- void net_uninit()
- {
- if (prot==TCPIP_PROTOCOL)
- bwt_uninit();
- else if (prot==IPX_PROTOCOL)
- ipx_uninit();
- }
-
-
-
- in_socket *create_in_socket(int port)
- {
- switch (prot)
- {
- case TCPIP_PROTOCOL :
- { return new bwt_in_socket(port); } break;
- case IPX_PROTOCOL :
- { return new ipx_in_socket(port); } break;
- }
- return NULL;
- }
-
- out_socket *create_out_socket(char *name, int port)
- {
- switch (prot)
- {
- case TCPIP_PROTOCOL :
- {
- bwt_out_socket *o=new bwt_out_socket();
- if (o->try_connect(name,port))
- return o;
- else { delete o; return NULL; }
- } break;
- case IPX_PROTOCOL :
- {
- ipx_out_socket *o=new ipx_out_socket(port);
- if (o->try_connect(name,port))
- return o;
- else { delete o; return NULL; }
- } break;
- }
- return NULL;
- }
-
-
-
- uchar *get_local_address() // same format as above (be sure to jfree this)
- {
- switch (prot)
- {
- case IPX_PROTOCOL :
- {
- return ipx_get_local_address();
- } break;
- case TCPIP_PROTOCOL :
- {
- uchar *b=(uchar *)jmalloc(4,"TCPIP address");
- *((int *)b)=bwt_get_my_ip();
- return b;
- } break;
- }
- return NULL;
- }
-
-
- out_socket::~out_socket()
- { ; }
-
-
-
-
-
-
-
-
-